
  10 CLEAR ;&(9)=50;GOSUB 20;GOTO 116
  20 NT=1;&(2)=116;&(3)=116;&(0)=0;&(1)=0;BC=0;FC=135
  30 CLEAR ;N=1600;M=1900;FOR X=-44TO 0;FOR Y=-44TO 0;IF (X×X)+(Y×Y)>MGOTO 60
  40 IF (X×X)+(Y×Y)<NGOTO 70
  50 BOX X+79,Y,1,1,1;BOX X+79,-Y,1,1,1
  60 NEXT Y
  70 NEXT X;X=78;FOR Y=-40TO 40;LINE 79,Y,4=XY;IF PX(X,Y)GOTO 115
  90 FOR A=1TO 50;IF PX(X-A,Y)X=X-A;GOTO 115
 100 IF (PX(X+A,Y)=0)+(X+A>79)NEXT A
 110 X=X+A
 115 LINE X,Y,1;NEXT Y;RETURN 
 116 CY=40;INPUT "DIFFICULTY 2/20"R;IF (R>20)+(R<2)GOTO 116
 117 CY=-24;PRINT "NOVICE=0/EXPERT=1";CY=-32;INPUT "    INPUT "P;IF P>2GOTO 117
 120 @(1)=-32640;@(2)=128;@(3)=8706;@(4)=32;@(5)=-22006;@(6)=168;@(7)=-32734;@(8)=162;V=40;&(9)=V;C=0
 125 BOX -22,0,116,88,2;FOR Z=1TO 50;A=RND (110)-80;B=RND (80)-40;BOX A,B,1,1,1;NEXT Z;D=-50;S=60
 130 M=0;@(9)=10752;@(10)=0;BOX -8,-34,16,10,2;@(11)=-32640;@(12)=128;@(13)=-24062;@(14)=160;A=19400
 140 FOR B=1TO 14STEP 2;%(A)=%(A)+@(B);%(A+2)=%(A+2)+@(B+1);A=A+40;NEXT B;A=0
 150 E=-40;FOR Z=1TO S;BOX 27,E,2,2,2;E=E+1;BOX 27,E,2,2,1;NEXT Z;A=A+1;S=20;IF A=2GOTO 170
 160 GOTO 150
 170 XY=10792;LINE 27,20,1;LINE 27,-20,1;LINE 40,-42,1;IF M=7GOTO 640
 175 GOSUB 400;IF V>40V=40
 180 BOX D,E,5,3,2;E=&(28)÷4+(P×RM)-31;BOX D,E,5,1,1;BOX D,E,1,3,1;IF C=R C=0;V=V-4;&(9)=V;GOTO 300
 185 IF &(16)=16GOSUB 500
 190 IF &(16)=18GOTO 550
 200 GOTO 180
 300 &(21)=255;FOR Z=255TO 20STEP -4;&(23)=Z;&(3)=0;MU=Z;&(3)=116;NEXT Z;F=4;&(21)=0
 305 FOR Z=1TO 5;BOX Y-F,L,1,1,2;F=F-1;NEXT Z;IF V<=28GOTO 610
 310 GOTO 170
 400 Y=79;L=RND (62)-31;FOR U=1TO 60;IF PX(Y-U,L)NEXT U
 410 Y=Y-U
 420 XY=-8450;&(21)=255;&(23)=255;G=XY;LINE Y,L,3;XY=G;LINE Y,L,3;BOX Y-2,L,5,1,3;M=M+1;&(21)=0;&(23)=0;RETURN 
 500 X=26;LINE D,E,4=XY;G=XY;IF PX(X,E)GOTO 530
 510 FOR Q=1TO 99;IF PX(X+Q,E)X=X+Q;GOTO 530
 520 NEXT Q
 530 LINE X,E,1;XY=G;MU=0;MU=0;LINE X,E,2;BOX Y-2,L,5,1,1;C=C+1;RETURN 
 550 Z=255;&(21)=Z;FOR X=-45TO 79;IF PX(X+1,E)BOX X-1,E,3,1,2;&(21)=0;&(23)=0;GOTO 590
 560 BOX X,E,1,1,1;&(23)=Z;BOX X-2,E,1,1,2;Z=Z-2;NEXT X
 590 IF X<28FOR Z=1TO 5;FC=BC;MU=X;FC=135;NEXT Z
 600 C=C+1;IF X>29IF E=L FOR Z=1TO 10;BC=FC;MU=X;MU=Z;MU=X;BC=0;NEXT Z;C=0;BOX Y-2,L,5,1,2;V=V+2;&(9)=V;GOTO 170
 605 GOTO 180
 610 CY=0;PRINT " YOU HAVE LOST";GOTO 116
 640 IF V=30V=31
 650 V=(V-30)×10;CY=24;PRINT " YOU HAVE SAVED";CY=8;PRINT #9,V,#1,"%";CY=-8;PRINT " OF THE PLANET";GOTO 116
:RETURN ;RUN 
>